Skip to content

[release-5.0] NO-ISSUE: Test and script fixes found during 5.0.0-rc.0 testing - #7327

Merged
openshift-merge-bot[bot] merged 7 commits into
openshift:release-5.0from
agullon:fixes-found-during-5.0.0-rc.0-testing-release-5.0
Sep 9, 2026
Merged

[release-5.0] NO-ISSUE: Test and script fixes found during 5.0.0-rc.0 testing#7327
openshift-merge-bot[bot] merged 7 commits into
openshift:release-5.0from
agullon:fixes-found-during-5.0.0-rc.0-testing-release-5.0

Conversation

@agullon

@agullon agullon commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Backport of #7326 to release-5.0. A consolidation of test-harness and CI fixes discovered while running the 5.0.0-rc.0 release test suites. All changes are test/CI-only (no product code): they address CI flakes and failures — resource exhaustion, teardown cascades, log-scan false positives, timeout limits, and asynchronous-resource races.

Parent PR (main): #7326 — the commits here are identical to that PR, rebased onto release-5.0.

Changes

  • Namespace teardowns: Remove Namespace now deletes with allow_fail=True (matching the existing repo idiom) and polls until the namespace is actually gone — asserting a real NotFound — so a slow deletion killed at the 300s process timeout no longer cascades into a suite-teardown failure, while still guaranteeing the name is free for reuse.
  • Release scenario timeouts: centralize GREENBOOT_TIMEOUT=1200 and TEST_EXECUTION_TIMEOUT=60m in ci_phase_boot_and_test.sh for release scenarios and remove the now-redundant per-scenario overrides.
  • ginkgo VM disk: restore --vm_disksize 30 for the ginkgo scenario, whose storage specs exhaust the topolvm VG at the 20GB default.
  • log-scan cert-manager race: allowlist the benign, transient cert-manager ServiceAccount "forbidden" startup race in the standard2 Log Scan test (a scoped, namespace-specific regex; genuine forbidden regressions still fail), and clarify the double-boot test with a Boot And Scan Journal keyword.
  • journald rate limiting: disable journald rate limiting for the logging suite (drop-in wrapped in bash -c for correct sudo redirection, with mkdir -p for self-containment) so high-verbosity log output isn't dropped.
  • hostname test: use the reserved .example TLD instead of .local to avoid mDNS interference.
  • flaky async-resource waits: statefulset-pvc waits for the StatefulSet pod to exist before the readiness check, and ai-model-serving-online retries the kserve ServingRuntime apply until the validating webhook has endpoints.

Testing

  • Robot Framework suites lint clean (robocop check + format).
  • Python helper (journalctl.py) passes flake8; shell scripts pass shellcheck.
  • Validated against the 5.0.0-rc.0 release jobs where these failures were originally observed (arm/x86 el9/el10 release scenarios).

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 4, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@agullon: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

Consolidation of test and script fixes discovered during 5.0.0-rc.0 release testing (release-5.0 backport):

  • OVN cleanup: Restart openvswitch after OVN process cleanup in microshift-cleanup-data.sh to clear stale flow state
  • Hostname test: Use .example TLD instead of .local to avoid mDNS interference
  • Journald rate limiting: Disable journald rate limiting in the logging test suite to prevent log loss during high-output scenarios
  • Namespace teardown: Use --wait=false for namespace deletion in Robot Framework teardowns to avoid blocking on finalizers
  • Release timeouts: Centralize greenboot (1200s) and robot (60m) timeouts for release scenarios instead of per-scenario overrides

Replaces: #7303, #7306, #7307, #7318

Test plan

  • All changes previously tested individually in the replaced PRs
  • CI passes on consolidated PR

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: f44ab77a-8d9c-4823-bb8a-d8e343e47d9e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@agullon

agullon commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-tests
/test e2e-aws-tests-arm
/test e2e-aws-tests-bootc-arm-el10
/test e2e-aws-tests-bootc-arm-el9
/test e2e-aws-tests-bootc-el10
/test e2e-aws-tests-bootc-el9
/test e2e-aws-tests-bootc-periodic-arm-el10
/test e2e-aws-tests-bootc-periodic-arm-el9
/test e2e-aws-tests-bootc-periodic-el10
/test e2e-aws-tests-bootc-periodic-el9
/test e2e-aws-tests-periodic
/test e2e-aws-tests-periodic-arm

@agullon

agullon commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-tests
/test e2e-aws-tests-arm
/test e2e-aws-tests-bootc-arm-el10
/test e2e-aws-tests-bootc-arm-el9
/test e2e-aws-tests-bootc-el10
/test e2e-aws-tests-bootc-el9
/test e2e-aws-tests-bootc-periodic-arm-el10
/test e2e-aws-tests-bootc-periodic-arm-el9
/test e2e-aws-tests-bootc-periodic-el10
/test e2e-aws-tests-bootc-periodic-el9
/test e2e-aws-tests-periodic
/test e2e-aws-tests-periodic-arm

@agullon

agullon commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-tests-release
/test e2e-aws-tests-release-arm
/test e2e-aws-tests-bootc-release-el9
/test e2e-aws-tests-bootc-release-el10
/test e2e-aws-tests-bootc-release-arm-el9
/test e2e-aws-tests-bootc-release-arm-el10

@agullon

agullon commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@agullon
agullon marked this pull request as draft September 7, 2026 08:02
@openshift-ci openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Sep 7, 2026
@agullon
agullon force-pushed the fixes-found-during-5.0.0-rc.0-testing-release-5.0 branch from 9dd9a8c to 8e92219 Compare September 8, 2026 10:06
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 8, 2026
@agullon
agullon force-pushed the fixes-found-during-5.0.0-rc.0-testing-release-5.0 branch 3 times, most recently from 5d5ccd5 to 24dd421 Compare September 8, 2026 10:48
@agullon
agullon marked this pull request as ready for review September 8, 2026 10:57
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 8, 2026
@agullon
agullon force-pushed the fixes-found-during-5.0.0-rc.0-testing-release-5.0 branch from 24dd421 to fe5165b Compare September 8, 2026 10:57
@agullon

agullon commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

/pipeline required

@agullon

agullon commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-tests
/test e2e-aws-tests-arm
/test e2e-aws-tests-bootc-arm-el10
/test e2e-aws-tests-bootc-arm-el9
/test e2e-aws-tests-bootc-el10
/test e2e-aws-tests-bootc-el9
/test e2e-aws-tests-bootc-periodic-arm-el10
/test e2e-aws-tests-bootc-periodic-arm-el9
/test e2e-aws-tests-bootc-periodic-el10
/test e2e-aws-tests-bootc-periodic-el9
/test e2e-aws-tests-periodic
/test e2e-aws-tests-periodic-arm

@agullon agullon changed the title [release-5.0] NO-ISSUE: Test and script fixes found during 5.0.0-rc.0 testing NO-ISSUE: Test and script fixes found during 5.0.0-rc.0 testing Sep 8, 2026
@agullon agullon changed the title NO-ISSUE: Test and script fixes found during 5.0.0-rc.0 testing [release-5.0] NO-ISSUE: Test and script fixes found during 5.0.0-rc.0 testing Sep 8, 2026
The .local TLD is reserved for mDNS (RFC 6762) and can cause DNS
interference with OVN initialization on systems with Avahi or
systemd-resolved, contributing to healthcheck timeouts after
hostname changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
The "Case Insensitive Log Levels" test fails on ARM when testing
TraceAll because klog verbosity 10 generates ~144K journal messages,
exceeding journald's default rate limit of 10K messages per 30 seconds.
The suppressed messages include the startup config dump line that the
test greps for, making the assertion impossible to satisfy.

Instead of globally disabling rate limiting in all test VMs, scope the
fix to the logging suite: disable rate limiting in suite setup and
re-enable it in teardown.

The drop-in write and journald restart are wrapped in `bash -c` so the
redirection and restart run as root under SSHLibrary's sudo=True (the
shell that expands `>` would otherwise run unprivileged), and `mkdir -p`
keeps the keyword self-contained rather than relying on kickstart
provisioning of /etc/systemd/journald.conf.d.

Co-Authored-By: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
The Remove Namespace keyword ran `oc delete namespace` under Run With
Kubeconfig's 300s process timeout with allow_fail defaulting to False.
On ARM dual-stack, namespace garbage collection (pod teardown plus
finalizers, slowed by OVN reconciliation saturating the CPU) can exceed
300s, so the oc process was killed, returned non-zero, and cascaded into
a suite teardown failure that retroactively marked all passing tests as
failed.

Delete with allow_fail=True (matching the pattern already used across the
suites, e.g. standard1/kustomize.robot) so a slow or killed cleanup does
not fail the teardown, then poll until the namespace is actually gone. The
poll asserts a genuine NotFound rather than any non-zero exit code (which a
transient API error could also produce), so a subsequent test can reuse the
namespace name without a "being deleted" collision, bounded to 5m.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
Release scenarios running upgrade paths with LVMS workloads followed by
full standard suites were hitting timeout limits under I/O contention
when many VMs boot and pull images in parallel. Set the greenboot
healthcheck timeout to 1200s (from 600s) and the robot framework timeout
to 60m centrally in ci_phase_boot_and_test.sh for all release scenarios,
and remove the now-redundant per-scenario overrides so the value lives in
a single place.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
openshift#7298 reduced release-scenario VM disks from 30GB to 20GB. That is safe
for the lvms-standard/standard scenarios (they create a single 1Gi PVC),
but the ginkgo scenario runs the full storage spec suite which requests
several 1Gi PVCs concurrently. At 20GB the topolvm data VG only has
~420MiB free, so 7 storage specs fail with:

  ResourceExhausted ... no enough space left on VG:
  free=440401920, requested=1073741824  (arm-el10)

and on x86 el10 the same undersized VM shows etcd ReadIndex latency and
apiserver TLS-handshake flaps from I/O contention. Restore only this
scenario to --vm_disksize 30; the other nine 20GB scenarios stay as-is
since a single 1Gi PVC fits comfortably.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
On a fresh/clean start the standard2 Log Scan test intermittently fails
"Should Not Find Forbidden" with:

  pods cert-manager-cainjector-... is forbidden: error looking up service
  account cert-manager/cert-manager-cainjector: serviceaccount ... not found

Investigation: the cainjector/controller/webhook Deployments and their
ServiceAccounts are created dynamically by the cert-manager operator, not
by MicroShift's static manifests. The kube-controller-manager ReplicaSet
controller can briefly attempt to create a pod before its ServiceAccount is
observed, logging this transient "forbidden" and retrying it away once the
SA lands. The workloads become ready (MicroShift healthcheck passes), so
this is a benign eventual-consistency startup race, not a MicroShift
manifest-ordering bug — the ordering is the operator's, not ours.

Add a scoped known-exceptions allowlist to the journalctl log-scan helper
and register this single pattern, so genuine "forbidden" regressions still
fail while this benign race is ignored.

While here, make the test itself easier to read: rename the per-boot
keyword to "Boot And Scan Journal", move the repeated journal-cursor
capture into it, and split the assertions into "Scan Boot Journal". The
two calls now read as "clean first boot" (forbidden check skipped, since a
clean boot logs the benign race above) and "restart" (must be forbidden-free).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
Two release-scenario tests raced asynchronous resource creation:

- otp-workloads/statefulset-pvc: `oc wait pod/hello-statefulset-0
  --for=condition=Ready` ran immediately after creating the StatefulSet,
  before its controller created pod-0, so `oc wait` on the named pod
  failed with NotFound. Wait for the pod to exist first (reusing
  Wait Until Resource Exists) before checking readiness.

- ai-model-serving/ai-model-serving-online: the ServingRuntime was
  applied with a bare `oc apply` before the kserve validating webhook had
  endpoints, so the apply was rejected ("no endpoints available for
  service kserve-webhook-server-service"). Retry the apply until the
  webhook is serving, mirroring the retry already used for the
  InferenceService rollout.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
@agullon
agullon force-pushed the fixes-found-during-5.0.0-rc.0-testing-release-5.0 branch from 3a94737 to 17d125b Compare September 8, 2026 20:07
@agullon

agullon commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-tests-release
/test e2e-aws-tests-release-arm
/test e2e-aws-tests-bootc-release-el9
/test e2e-aws-tests-bootc-release-el10
/test e2e-aws-tests-bootc-release-arm-el9
/test e2e-aws-tests-bootc-release-arm-el10

@agullon

agullon commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-tests
/test e2e-aws-tests-arm
/test e2e-aws-tests-bootc-arm-el10
/test e2e-aws-tests-bootc-arm-el9
/test e2e-aws-tests-bootc-el10
/test e2e-aws-tests-bootc-el9
/test e2e-aws-tests-bootc-periodic-arm-el10
/test e2e-aws-tests-bootc-periodic-arm-el9
/test e2e-aws-tests-bootc-periodic-el10
/test e2e-aws-tests-bootc-periodic-el9
/test e2e-aws-tests-periodic
/test e2e-aws-tests-periodic-arm

@agullon

agullon commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@agullon

agullon commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

/override ci/prow/e2e-aws-tests-bootc-release-arm-el9
/override ci/prow/e2e-aws-tests-bootc-release-el9
/override ci/prow/e2e-aws-tests-bootc-release-arm-el10
/override ci/prow/e2e-aws-tests-bootc-release-el10
/override ci/prow/e2e-aws-tests-release
/override ci/prow/e2e-aws-tests-periodic

I investigate in detail every failure on every scenarios and they are safe to override because they are just few flaky that passed after a retrigger or there are other PR to get it fix like #7347

@openshift-ci

openshift-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

@agullon: Overrode contexts on behalf of agullon: ci/prow/e2e-aws-tests-bootc-release-arm-el10, ci/prow/e2e-aws-tests-bootc-release-arm-el9, ci/prow/e2e-aws-tests-bootc-release-el10, ci/prow/e2e-aws-tests-bootc-release-el9, ci/prow/e2e-aws-tests-periodic, ci/prow/e2e-aws-tests-release

Details

In response to this:

/override ci/prow/e2e-aws-tests-bootc-release-arm-el9
/override ci/prow/e2e-aws-tests-bootc-release-el9
/override ci/prow/e2e-aws-tests-bootc-release-arm-el10
/override ci/prow/e2e-aws-tests-bootc-release-el10
/override ci/prow/e2e-aws-tests-release
/override ci/prow/e2e-aws-tests-periodic

I investigate in detail every failure on every scenarios and they are safe to override because they are just few flaky that passed after a retrigger or there are other PR to get it fix like #7347

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@agullon

agullon commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

/label jira/valid-bug
/label backport-risk-assessed
/verified by CI

@openshift-ci openshift-ci Bot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. labels Sep 9, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Sep 9, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@agullon: This PR has been marked as verified by CI.

Details

In response to this:

/label jira/valid-bug
/label backport-risk-assessed
/verified by CI

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@pmtk

pmtk commented Sep 9, 2026

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Sep 9, 2026
@openshift-ci

openshift-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: agullon, pmtk

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci

openshift-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

@agullon: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-tests-periodic 17d125b link true /test e2e-aws-tests-periodic
ci/prow/e2e-aws-tests-release 17d125b link true /test e2e-aws-tests-release
ci/prow/e2e-aws-tests-bootc-release-el10 17d125b link true /test e2e-aws-tests-bootc-release-el10
ci/prow/e2e-aws-tests-bootc-release-arm-el9 17d125b link true /test e2e-aws-tests-bootc-release-arm-el9
ci/prow/e2e-aws-tests-bootc-release-el9 17d125b link true /test e2e-aws-tests-bootc-release-el9
ci/prow/e2e-aws-tests-bootc-release-arm-el10 17d125b link true /test e2e-aws-tests-bootc-release-arm-el10

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 88ae25f into openshift:release-5.0 Sep 9, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants